package com.lyd.sweet.model;

import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 基本服务接口（定义单表增删改查，分页查询接口）
 *
 * @author 木木
 **/
public interface BasicService<QUERY, DTO, VO> {
    /**
     * 增
     * @param dto
     * @return
     */
    VO create(DTO dto);

    /**
     * 删
     * @param id
     * @return
     */
    Boolean delete(Object id);

    /**
     * 改
     * @param dto
     * @return
     */
    Boolean update(DTO dto);

    /**
     * 查
     * @param id
     * @return
     */
    VO getById(Object id);

    /**
     * 查询列表
     * @param query
     * @return
     */
    List<VO> list(QUERY query);

    /**
     * 分页查询
     * @param query
     * @return
     */
    PageInfo<VO> pages(QUERY query);
}
